@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED BUDGET BAS 147 COPYING---D2:BUDGET.BASl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 164ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uEiͩkΩ͙kCopj`j j`Hi͝Νh`3C3<T}L SYS.UNEM:D"NURkΩ͙kCopj`j j`Hi͝Νh`3C3<HHYTPNBLEXCHMONPAYINABCDEFGHIJKLMN1OPQRSTUVWXYZAZYREOCKCK1ATMON1DT V}OTTOTAVNCTOTOTONTOTTOTAVTOTTOTAVDNWERL@@@@ W}  X} !"#$%@&@' Y}()*+,-./0123456 Z}789:;<=>?@ABC6-@  [}A ;@,;@,;@@,9@E<@,9@<@,;@,9@E,9@<@, \};@,;@,;@,;@,;@,;@, ;@,;@,;@,;@,;@, ]};@,;@,;@,;@,;@,;@,;@,;@,;@,;@,;@, ^};@,;@,;@,;@,;@,;@,;@,9@<@E,9@<@E,;@ _},;@,>67@,. #67@@,.267@,.>6-@ 6.=:, AA@'A `}@9A ?(}QAR@c-@@(f-@@ a}(--@3@3(E-@@f( A JANUARY G JULY f-@@(--@3@ b}3(E-@@f( B FEBRUARY H AUGUST f-@@(--@3@3(E-@@ c}f( C MARCH I SEPTEMBER f-@@(--@3@3(E-@@f( D APRIL J d}OCTOBER f-@@(--@3@3(E-@@f( E MAY K NOVEMBER f-@ e}@(--@3@3(E-@@f( F JUNE L DECEMBER  f-@@(--@3 f}@3(E-@@f(~-@@ 4(ENTER MONTH OR WEEK NUMBERT@ g}@K:a)@l@~B7tA,!@H @T)6-&@H,$c @e h})!@v--@@O2@0@@c-@@ @e)!@v ?2 i}@@@S-@@W [ }2 A@ %A),6. j}"6.D:JAN., A*,6. "6.D:FEB., A+,6. "6.D:MAR., A,,6 k}. "6.D:APR., A-,6. "6.D:MAY., A.,6. "6.D:JUN., A l}/,6. "6.D:JUL., A0,6. "6.D:AUG., A1,6. "6.D:SEP., m}A2,6. "6.D:OCT., A3,6. "6.D:NOV., A4,6. "6.D: n}DEC., AL$u6-6-'6-;-@@0H6-%8<,[6-%8<@,n6-%8<@ o},r u$ J (}0("ĠŠӠ3(6(J(RENT/MORTGAGE-- ,(ELECTRIC-------,(TELEPHONE-- p}---- 3( ((((((#('(+(/(3( h6-@#-@@7-@%@K6.=:8< q},,U Ad(7@<,h  J#@@K:0)@;@GJ$ (} W)( r}!ŠŠӠ,(/(C(FOOD-----------W(CLOTHING------- 7( ((((((#('(+(/ s}(3(7( h6-@#-@@07-@&@K6.=:8<,,U Ad(7@<,h  J#@ t}@K:0)@;@G!J$-@"J(ӠӠԠԿ CAT=>:%@ u}d, j@@K:w)@@"@$"@x' AeE A@ v}-@"J(ӠӠԠԿ CAT=>:%@I, j@@K:w)@ w}@ "@$"@x' Ag@ AA~@'A@9A@K x}A Q(}~((ǠӠ@-@@(&ACCOUNT NO. 1 2 y} 3 B-@B(( o-@"(BALANCES4-@@ z}@6-L6-V A` Ao(7@<,-@"@!6--6-@7 AA AP {}(7@<,b-@1@n6-z6-@ A A(7@<,A-@"(TOTAL |}OF1( THE CHECKSA( OUTSTANDINGn6-#-@@E66-%8<,: L-@@ U6.=:,_ A }}n(7@<,n6-#-@@E66-%8@<,: L-@"@ U6.=:,_ An(7@ ~}<,n6-#-@@E66-%8@<,: L-@1@ U6.=:,_ An(7@<,B- }@B((|j-@#( 1 DEPOSIT5-@G( 2 WRITE CHECK }Y-@j( 3 WITHDRAWAL~Z-@3(4 LIST OUTSTANDING CHECKSE-@Z(5 RETURN TO MENU }B7tA'-@ 6( CATEGORY?V@@K:c)@n@B7tA }!! @I)!@SAU77&@HAVAWAXAYAU  AU[ (}- }@G('ǠŠԠQ B[ A-@ )(ACCOUNT NUMBER?I@@ }K:V)@a@ @I)!@QAVB7tA/( +( }DEPOSIT/1168<&@I,-8<&@I,% APD-@ )(ACCOUNT NUMBER?I@ }@K:V)@a@ @I)!@QAWFB7tAI[(AMOUNT OF CHECK }D(" W( CHECK NUMBER[KmB7tA6.=:,-B:, @U(#ˠ }ҠԠŽŠi-@Am LGB:, @=(& G AWNV }6-&@I%-@@E68<,"A68<,-L68<,-V AW S X+!68<,-8<,&+ }AP-@ )(ACCOUNT NUMBER?I@@K:V)@a@o6-&@I  })!@AXB7tAY( -( WITHDRAWAL1O68<,-8<,&Y } AP G (}-G('ǠӠ~((ACCOUNT NUMBER?:@@ }K:G)@R@`6-&@I~ )!@AYB7tA AYp)- })-@@E M8<,"6.=:8<,,, AM(8<, $7@<, %*F:@," }@*@@ * 4-@4(DELETE OUTSTANDING CHECKS?T@@K:a)@ }l@"@xAP9"@AYP; AY@>;$( 7( CHECK NUMBER };C-@@EH08<,"68<,-068<,-M R]-@##-O(' } S ] AYoO#@@K:0)@;@OA }rd 4(}"-@@B(YOU FORGOT TO ENTER A MONTHV-@AZ d Aso"(} }'-@@M(!YOU FORGOT TO ENTER A WEEK NUMBERa-@Ae o At$u) A` A`)@ }vA@'A@9A ?(}QAY@4c-( }ĠӠw[-@ @0(() TOT VAR<6-@Q(A RENT/MORTGAGE-[ Az"(B ELE }CTRIC------" A"(C TELEPHONE-----" A (D  A (E  A (F  A } (G  A (H  A (I  A (J  A (K  A (L  A } (M  A (N  A (O  Ah6-#-@@06-%8<,4 =6 }.=:,O-@@Y Ah(7@<,n6-#-@@66-%8<@,: C6.=:,U-@$ }@_ An(7@<,(  TOTALS Aa@n6-#-@@66-%8<@,: C6 }.=:,U-@2@_ An(7@<,7-@@6.=:,( A7(7@<,k-@$@ }6.=:,( A7(7@<,I-@2@R6.=:,\ Ak(7@<,d-@@"#( CATEGORY?C }@@K:P)@[@g"@Hs6-@} A A`ea6-&@d' @ })!@9-@ a(#P RETURN TO MENU 0 UPDATE DISPLAYfV @)!@+-@!V(&Q CHANGE }DATE R VARIABLE EXPENSESgs @)!@+-@"?(S LIST PAYMENTSS-@AW i- }@ s Aeis"@6-@!(}3-@_('ǠŠԠi B }s Aj Aeke/(' [(' e AeEs }Q"@6.6.% A+6.16.=6-@G AQ A`x#"@ A# Af}/"@ } A0%6-@/ A`f-@ @"!(AMOUNT%.6.=:,fB:,!@*7B:,&@ }#"@4 A0# Af@E"@26.6.% A+6.16.; AE AfEf-@ @"!( }AMOUNT%.6.=:,fB:,!@*7B:,&@(14 H(15 h(16 DEFINE VARIABLE EXPENSESl Ar?-@@ }'( LABEL NUMBER+?!@Ar,-@@! (LABEL, Ar%  A@! A" A }# A$ Ap% Ap& Ap' Ap( Ap) Ap* } Ap+ Ap, Ap- Ap. Ap/ Ap0 As=-@ }@#-@ 6(RETURN TO MENU: =$~ (}AA(-AA(?A A8Q- }~((ŠŠӠ_((1 FOOD ( 2 CLOTHING)(3 2(4 ;(5 D(6 M(7 V }(8 _(9 ? (10 (11 !(12 +(13 5(14 ?(15 :-@@#-@ 6(RETURN } TO MENU: ?-@@ '( LABEL NUMBER+?!@At,-@@! (LABEL, At% }A@ A A As As As As As } As As As As As As As As } As@D 6.6-B:,%@+-@B:,87<,4.>6-D6-Ea 6-%$67&%@<,. }567&<&,..G-&%@T7<,4 a67<,.0J   $ 6.=:8<,,6-@ $ 6.=:8<,,6- }@ $6.=:8,,$6.=:8<,,$ !@6-%@  @6- t-@%@!  }A+ A:(7@<,@6-L6-@V A` At-@$%@ l(7@<,6-@( A }2 AF-@2%@U(7@<,[6-i6-%@l$'# +(# AAY@41A }AtCAAtUA A`gAR@m(}-@B7tA-#00(( }2#j-@@,(A = BUDGET - FIXED>-@@X(B = BUDGET - VARIABLEj-@ }@7#o(C = CHANGE DATE)-@@ C(D = CHECKING ACCOUNTSU-@@o(E = DEFINE CATEGORIES9#J }-@@'( F = FILE DATA9-@@J( G = GET DATA:#(-@@((H = CLEAR DATA<#"-@@ }"(COMMAND?>#z-@B((b@@K:o)@ }z@K#b"@q(}'-@@4(ԠF-@@X( ARE YOU SURE?b A7L# A8 }M#;#@@K:0)@;@N#9"@q"@% A`/ B9 AP#d" }@p(}'-@@6( ŠH-@@Z( ARE YOU SURE?d ABQ# ACR#;#@@ }K:0)@;@S#9"@p"@% A`/ B9 AU#c"@h A`+- }@!O(ǠŠԠY Bc APZ#q"@e6-@% A`7-@! }[(ǠŠԠe Bq6-@e\##"@e A# A`_#q"@f6-@% A }`7-@![(ǠŠԠe Bq6-@f`##"@f A# Afa#" }@iApd#"@g Ai#e"@r(}'-@@7( ҠI-@@[( ARE YOU }SURE?e Agj# Ak#;#@@K:0)@;@l#c"@r"@!(}3-@ }@A( ǡS-@@c( PLEASE WAITn#\"@r"@/-@C-@@0 }T68<,-X \ # A%t6-F:A,("@)"@4!@> Aj(' } t Ag0!%8F:A,"@$ @. A8 Ae5"%8F:A,"@$!@ }. A8 Ag0&%t6-F:A,("@)"@4 @> Aj(' }t Ae5+%6-F:A,,%r"A0)"ApE('ŠԠĠ٠ΠY-@A] h }@r A0%%6-F:A,%AV$F:A,9-@@[2@0@@(& INPU }T ERROR - TRY AGAIN :%-@@ D%%2@@@P(&ԠҠ٠ }Πd-@@h l 2N%=/(' 9 A }= '67@<@,.)6.>:AU,F@@Z-@n-@@0 @ }8<,  'W-@+-@@E= @8<,O @8<,S W '3-@ }/ @8<,3 ',, @'00 @' }00 @$'@$'67@<@,.)6.>:AU,F@@ }Z-@n-@@0{@68<,-  'c-@+-@@E8 }@C68<,-P@[68<,-_ c '9-@$@568<,-9 '..@ }'""@;(@$ D2:BUDGET.BAS-9 '..@ hLMUoSTARSXYXYSZAAXAYTEMPTEMPDIRFLZ1DIRCDMXFRTEM} @ @@}@@ 9" >:A%,IN}ITIALIZING..., B /9 AZB7bAdQ6-F:A,'AF:A ,3A ;1G"@'}Q An)"@@d,) AxB7aA6$6-R:,@6-+"@,&+"@,6-+}"@)"@)"@ ,&+"@)"@)"@,+ 6-%6-%!@8+6-@ @6-}@8gB7a1]+"@)"@&)"@)"@)"@)"A$,g A)"@'}@2,) AO"@@2,%6-+6-5@d;,E AO A5"@F6-}%@+6-%@5 A'"@ 6-%@P' AC @2,6-6-)@d/,C"A}A+-@@+1@@8,"*"@2<P:H:,$@,"F@'}U68,-@d68,-@p,8,8,68,-@ A8," A18,8,3 6-8,}6-8,#6-N:&8,,318,%8,\/+"@2)"@d)"@F)"@ ,;68,-8,D68,-R68,-8,%\ }A!6-N:&8,,!18,8,%\/+"@2)"@d)"@F)"@ ,;68,-8,D68,-R68,-8,%\ }A" A'!8,"@d!68,-@2, 8,, ,8,8,6 " A@y6-&@}"@1-@@%S2AP@@W y2E!@} AJ: @'!-@@08,": APT,8,8,^  AQ-@@+}-@@0M2@0@@Q c-@@092@P@@= A c2}36-6-&@)"3 A 0-@@&8,"0 AP}a 8,,8,8,%68,-468,-C68,-R68,-@2a68,-@2& @2,+}1-@@#(,-@0@#1(05 @d6-@%6-@+,5 AXU-@@+}-@@0M2@@@@Q U bw-@@p92@0@@= Q}-@@0s2@@@@w l_-@@`92@0@@= _2}v6-@@'8,"*8,"668,-/ 6-%A'-@@#,(/$}F6-@p@--@@<8,"F A ,8,8,b -@@%92$}@@= _2b$ U-@@+-@@0M2@5@}@Q U *m-@@p92A@@= _2m6-%A}40 >:A%,6-& A00 Aw +@-@> @ YOU HAVE BEENZ @} Įw @ FINAL SCORE]" @  points.= @ to play] @ }fire"T:,"@" A  A A<<9@,9@,9@,9@,9@},'6-@6-'6-` +AR@<AVF:A,%@NA@6`}A Ar-@@&68,-568,-D68,-S68,-@2b68,-@2f r6-}_%6-F:A`,%AV$F:Aa,9%@@hM-@@'[%@_ L @FV9-@}@7+-@@!1,5 9 `y @,1,@C,@@U,@@ }g,@@y,@@jK,@ @',@ @9,@"@K,@"@ty @& },@@1,@@C,@U,@@g,@@ y,@"~K,@" }@',@ @9,@"@K,@ @ y @,@@1,@@C,@@ }U,@@g,@8y,@6@K,@4@',@8@9,@6@K,@4 }@y @,@@1,@@C,@@U,@@ g,@4@y,@6@}K,@8@',@4@9,@6@ K,@8@"y @,@1/@7}C,@@U/@@g,@!@y/@5@K,@@'/@@9,@!@}K/@5@o,@@'/@@9,@#@K/@3@],@@o/@}@o,@#@'/@3@9,@@K/@7@],@@o/@7@o},@@'/@@9,@!@K/@5@],@@o/@@o,@#@}'/@3@9,@@K/@@],@#@o/@3@o,@@ '/@}@ 9,@!@ K/@5@ ],@@"o/@7@"y A$,@1/@ }C,@U/@!g,@@y/@@o,@@'/@@9,@}@K/@@],@@o/@@ o,@ @'/@ @9,@ @K/@ }@],@6@o/@6@o,@6@'/@6@9,@8@K/@8@ ],}@8@o/@8@!U @2,@@1,@'@C,@@U,@ @(,@}@',@'@9,@@K,@@],@@o,@'@,@4@2]},@@',@@9,@@K,@'@],@4@<o,@@',@'@}9,@@K,@ @],@@ o,@'@ FU @ ,@@1,@@}C,@7@U,@7@KH-@@#$( :6-@ @#H( P. @d6-}@%6-@+,.$}q AF:A,&@*+K6-+F:A,%@,$AV_AV'AVq}AR@ }<;@8,<6.%h˅ͩΥji͑Υ`}6-?:C:,,#B!}""6@#}$(}3-@"%%%) 3 B 0d}112,0,0,20,40,20,0,0,0e}!!256,48,48,252,255,60,48,0,0f} 536,2 }0,20,20,168,168,0,0,0g} 552,0,0,0,168,168,20,20,20h}!!584,0,252,84,168,84,252,0,0i}''640,195,255,255,235,255,255,60,60!}j}648,0,0,0,21,21,40,40,40k}656,0,0,0,90,90,0,0,0l}!!992,20,20,20,20,40,40,40,40m}720,40,40,40,21,21,0,0,0n}''"}728,130,170,170,130,170,170,40,40o}-1D2:CATMOUSE.BAS,20,20,20,20,40,40,40,40m}720,40,40,40,21,21,0,0,0n}''B0100 .TITLE GTIA EXPANSION: SHOWS FIELDS OF COLOR0110 ;0120 RANDOM = $D20A0130 CONSOL = $D01F0140 SAVMSC = $58 $} ;DP SCREEN POINTER0150 PNTR = $D4 ;SCREEN POINTER WORK0160 LOWER = $D60170 UPPER = $D70180 LOWER1 = $D8%}0190 UPPER1 = $D9 ;STORAGE FOR DP NUMBERS0200 COLOR = $DA ;COLOR TO PLOT 1-150210 MASK = $DB ;MASK FOR&} PLOT0220 ODDFLAG = $DC ;1 MEANS ODD, 0 EVEN0230 X1 = $DD ;TEMP VALUE0240 XPOS = $DE ;X POSITION OF'} 1-780250 YPOS = $DF ;Y POSITION OF 1-940255 ; (CUT Y RES. BY HALF)0260 GROSS = $E0 ;12 C(}ELLS AROUND POINT0270 NEIGHBORHOOD=$EC ;12 CELLS0275 ; ORDERED CLOCKWISE0280 MAPO = $600 ;MAP O)}DD X0290 MAPE = $60C ;MAP EVEN X0300 DIRWORD = $618 ;INDEX TO PICK0305 ; UP NEIGHBOR BYTES03*}10 XMAX = $61E ;XPOS RANGES TO0320 YMAX = $61F ;YPOS RANGES TO0330 TRIPNO = $620 ;NUMBER OF ADJACENT033+}5 ; PIXELS NEEDED0340 CODE = $6210345 ;0350 *= $6000355 ;0360 .BYTE 9,1,2,3,10,8,0,,}4,11,7,6,50370 .BYTE 1,2,3,9,8,0,4,10,7,6,5,110380 .BYTE 0,1,80,81,160,1610390 .BYTE 780400 .-}BYTE 940410 .BYTE 30420 ;0430 NEIGHBORS= *0440 LDA #00450 STA ODDFLAG ;MAKE EVEN0460 LDA XP.}OS0470 SEC0480 SBC #10490 LSR A ;CARRY HAS ODD BIT0500 STA X1 ;X1=(X-1)/20510 /} BCC EVEN0520 INC ODDFLAG ;ODD X0530 EVEN = *0540 LDA YPOS0550 SEC0560 SBC #10570 0} JSR MULT80 ;DP HAS (Y-1)*800580 CLC0590 LDA LOWER0600 ADC SAVMSC0610 STA PNTR0620 1} LDA UPPER0630 ADC SAVMSC+10640 STA PNTR+10650 CLC0660 LDA PNTR0670 ADC X10680 2} STA PNTR0690 LDA PNTR+10700 ADC #00710 STA PNTR+1 ;PNTR=(Y-1)*80+X1+SAVMSC0720 LDX #0073}30 NLOOP = * ;FILL GROSS NEIGHBORHOOD0740 CPX #120750 BEQ OUTNLOOP0760 TXA0770 PHA 4} ;SAVE X0780 LSR A ;(X/2)0790 TAX ;INDEX TO BYTE INDEXES0800 LDY DIRWORD,X0810 5} PLA0820 TAX ;RESTORE X0830 LDA (PNTR),Y ;LOAD 2 PIXELS0840 PHA ;SAVE A COPY0856}0 LSR A ;MOVE...0860 LSR A ;UPPER NIBBLE...0870 LSR A ;TO0880 LSR A ;L7}OWER NIBBLE0890 STA GROSS,X ;1ST BOX0900 INX0910 PLA ;RETRIVE COPY0920 AND #$0F0930 8} STA GROSS,X ;2ND BOX0940 INX0950 CLC0960 BCC NLOOP0970 OUTNLOOP= *0980 RTS0990 ;109}00 MAPPING= *1010 LDX #111020 MAPLOOP= *1030 LDY MAPE,X ;GET THE MAP INDEX EVEN1040 LDA ODDFLAG:}1050 BEQ EVENMAP1060 LDY MAPO,X ;INDEX ODD1070 EVENMAP= *1080 LDA GROSS,X1090 STA NEIGHBO;}RHOOD,Y ;DO MAPPING1100 DEX1110 BPL MAPLOOP1120 LDA NEIGHBORHOOD+11130 STA NEIGHBORHOOD+9114<}0 LDA NEIGHBORHOOD+21150 STA NEIGHBORHOOD+101160 LDA NEIGHBORHOOD+31170 STA NEIGHBORHOOD+11 ;A=}LLOW WRAP AROUND1180 RTS1190 ;1200 MULT80 = *1210 STA LOWER11220 STA UPPER ;*2561230 LD>}A #01240 STA LOWER1250 STA UPPER11260 CLC1270 ROR UPPER1280 ROR LOWER ;*1281290 ?} ROR UPPER1300 ROR LOWER ;*641310 CLC1320 ROL LOWER11330 ROL UPPER1 ;*21340 RO@}L LOWER11350 ROL UPPER1 ;*41360 ROL LOWER11370 ROL UPPER1 ;*81380 ROL LOWER11390 ROA}L UPPER1 ;*161400 CLC1410 LDA LOWER1420 ADC LOWER11430 STA LOWER1440 LDA UPPER ;*6B}4 + *16 = *801450 ADC UPPER11460 STA UPPER1470 RTS1480 ;1490 PLOT = *1500 LDA #$F01510C} STA MASK ;MASK UPPER NIBBLE1520 LDA ODDFLAG1530 BEQ NOADJUST ;IF X-1 IS EVEN NO ADJUSTMENT1535 D} ;TO PNTR IS NEEDED1540 INC PNTR ;OTHERWISE POINT TO1545 ;NEXT HORIZ BYTE1E}550 BNE NOTZ1560 INC PNTR+11570 NOTZ = *1580 LDA #$0F1590 STA MASK ;SAVE MASK LOWER NIF}BBLE1600 ASL COLOR1610 ASL COLOR1620 ASL COLOR1630 ASL COLOR ;MOVE LOWER TO UPPER NIBBLE16G}40 NOADJUST= *1650 LDY #80 ;MUST POINT TO YPOS LINE1660 LDA (PNTR),Y1670 AND MASK1680 ORH}A COLOR1690 STA (PNTR),Y1700 LDY #120 ;HALF LINE BELOW1710 LDA (PNTR),Y1720 AND MASK1730 I} ORA COLOR1740 STA (PNTR),Y1750 RTS1755 ;1760 ; MAIN MODULE1765 ;1770 *= $50001775 ;1780 J} PLA ;FOR BASIC1790 LOOP = *1800 LDA CONSOL1810 CMP #61820 BNE CONTINUE1830 K} RTS ;RETURN TO BASIC ON START1840 CONTINUE= *1850 SEC1860 GETY LDA RANDOM1870 CMP YMAX1880 L} BCS GETY1890 STA YPOS1900 INC YPOS ;YPOS FROM 1-941910 SEC1920 GETX LDA RANDOM1930 M} CMP XMAX1940 BCS GETX1950 STA XPOS1960 INC XPOS ;XPOS FROM 1-781970 JSR NEIGHBORS ;GET PON}INT NEIGHBORS GROSS1980 JSR MAPPING ;MOVE TO CLOCKWISE NEIGHBORHOOD1990 LDA NEIGHBORHOOD2000 BNE O} ;LOOP IF COLORED ALREADY2010 LDA #$FF ;ENSURE NEW COLOR2020 STA COLOR2030 LDX #1 ;START AP}T UPPER LEFT2040 TRIPLOOP= *2050 LDA NEIGHBORHOOD,X2060 CMP COLOR2070 BEQ INCR ;MATCH - INCRIMENQ}T COUNT2080 STA COLOR ;NEW COLOR TO START2090 LDY #02100 INCR = *2110 LDA COLOR2120 BER}Q NOTYET ;NO INCR ON 0 COLOR2130 INY2140 CPY TRIPNO ;3 IS A TRIPLET2150 BEQ HAVEIT2160 NOTYET = S}*2170 INX ;MOVE CLOCKWISE2180 CPX #122190 BNE TRIPLOOP2200 LDA #02210 STA COLT}OR2220 HAVEIT = *2230 LDA COLOR2240 BEQ LOOP ;IF NO TRIPLET2250 JSR PLOT2260 CLC2270 U} BCC LOOP2275 ;2280 .ENDLOR2240 BEQ LOOP ;IF NO TRIPLET2250 JSR PLOT2260 CLC2270 '/E;@, %-A6A"!% --@W}@")67<,.>:,- F +@P-@@RZG%6-P:H:,$@,%@G6-P:H:X},$@x,%@d',$@'/$@%@n x6-?:C:,, @p9,1,2,3,10,8,0,411,7Y},6,5,1,2,3,98,0,4,10,7,6,5,110,1,80,81,160,161,78,94 3,169,0,133,220,165,222,56 233,1,74,133,221,144,2,Z}230$!!220,165,223,56,233,1,32,151.!!6,24,165,214,101,88,133,2128##165,215,101,89,133,213,24,165B%%212,101,221,133[},212,165,213,105L 0,133,213,162,0,224,12,240V28,138,72,74,170,188,24,6`!!104,170,177,212,72,74,74,74j""74,149,\}224,232,104,41,15,149t""224,232,24,144,224,96,162,11~ 188,12,6,165,220,240,3,1880,6,181,224,153,236,0,202$$1]}6,238,165,237,133,245,165,238$$133,246,165,239,133,247,96,133##216,133,215,169,0,133,214,133$$217,24,102,215,102,^}214,102,215!!102,214,24,38,216,38,217,38!!216,38,217,38,216,38,217,38##216,38,217,24,165,214,101,216%%133,214_},165,215,101,217,133,215$$96,169,240,133,219,165,220,240""18,230,212,208,2,230,213,16915,133,219,6,218,6,218,6`}!!218,6,218,160,80,177,212,37 ##219,5,218,145,212,160,120,177!!212,37,219,5,218,145,212,96 104,173,31,208,201,a}6,208,1(96,56,173,10,210,205,31,62$$176,248,133,223,230,223,56,173<!!10,210,205,30,6,176,248,133F 222,230,222,b}32,33,6,32,118P##6,165,236,208,212,169,255,133Z##218,162,1,181,236,197,218,240d!!4,133,218,160,0,165,218,240n6,c}200,204,32,6,240,9,232x""224,12,208,231,169,0,133,218!!165,218,240,173,32,201,6,24 144,167D2:GTIADEMO.BASd}00,204,32,6,240,9,232x""224,12,208,231,169,0,133,218!!165,218,240,173,32,201,6,24 144,167D2:GTIADEMO.BAS2 REM *** CASSETTE VERSION ***65 IF PASS=2 THEN CLOSE #1:END 70 ? "READY CASSETTE AND PRESS RETURN";:OPEN #1,8,128,"C:":RESf}TORE 200:FOR X=1 TO 35:READ N:PUT #1,N:NEXT X200 DATA 0,36,221,31,255,31,169,60,141,2,211,169,0,141,231,2,133,14,169,56,141,g}232,2,133,15,169,115210 DATA 133,10,169,33,133,11,24,962000 DATA 0000000000000000000000000000000000000000000000000000000000q}B%DOS SYSB*)DUP SYSBSAUTORUN SYSBUBUDGET BASB;CATMOUSEBASB3#GTIADEMOASMBVGTIADEMOBASBeLIVECASSLSTBsLIVEDISKLSTBvMENU SYSBMICRPICSASMB MICRPICSBASB MULTCOLRASMBMULTCOLRBAS00000000000000000000000000000000,4398552010 DATA 000000000000000000000000000000000000000000000000000000000000000000000000000r}000000000000000,439855000000000,4398552010 DATA 0000000000000000000000000000000000000000000000000000000000000000000000000002 REM *** DISK VERSION ***65 IF PASS=2 THEN PUT #1,224:PUT #1,2:PUT #1,225:PUT #1,2:PUT #1,115:PUT #1,33:CLOSE #1:END 70 ? !t}"INSERT DISK WITH DOS, PRESS RETURN";:DIM IN$(1):INPUT IN$:OPEN #1,8,0,"D:AUTORUN.SYS"90 PUT #1,255:PUT #1,255:PUT #1,0:PUT !u}#1,32:PUT #1,142:PUT #1,49S RETURN";:DIM IN$(1):INPUT IN$:OPEN #1,8,0,"D:AUTORUN.SYS"90 PUT #1,255:PUT #1,255:PUT #1,0:PUT O a ABCDMXYLOOBBA(Bh@@@@ @%w} @ @1  LOAD*IT BY KARL STIEFVATERREVISED 10/24/85BY CLAYTON%x} WALNUMCOPYRIGHT (C) 1985(BY ANALOG COMPUTING2 Ap<&&;@ ,;@,;@@,FA +A%y}R@A6-F:A`,%F:Aa,$AVPk0@70@Q0@@%z}k0@ZG%@@d%@3%@@G%@&@Hd70@@%{}70@@@nh6-6-% Ap,(}V(% h-@%|}@x1@1@@D:*.*J@J7@<@,4 F)7@<@,4 F%}}A`&&7@<@,4SYSA06-%@( J@J7@<@,4 F)7@<%~}@,4 FA`&&7@<@,4SYSAE( A0J-@(>--@@!J(%}USE